package original


/*
	数组中有一个数字出现的次数超过数组长度的一半，请找出这个数字。

	你可以假设数组是非空的，并且给定的数组总是存在多数元素。
	示例1:

	输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
	输出: 2
	限制：

	1 <= 数组长度 <= 50000

*/

// 1, 2, 3, 2, 2, 2, 5, 4, 2
// 使用哈希计数
func majorityElement12(nums []int) int {
	m_num := make(map[int]int)
	for _, num := range nums {
		m_num[num]++
	}
	for k,v := range m_num {
		if v > len(nums) / 2 {
			return k
		}
	}
	return -1
}